home *** CD-ROM | disk | FTP | other *** search
- /* NonlinearProcSpec.h */
-
- #ifndef Included_NonlinearProcSpec_h
- #define Included_NonlinearProcSpec_h
-
- /* NonlinearProcSpec module depends on */
- /* MiscInfo.h */
- /* Audit */
- /* Debug */
- /* Definitions */
- /* Memory */
- /* LFOListSpecifier */
- /* Envelope */
-
- struct NonlinProcSpecRec;
- typedef struct NonlinProcSpecRec NonlinProcSpecRec;
-
- /* forwards */
- struct WaveTableObjectRec;
- struct AlgoWaveTableObjectRec;
-
- typedef enum
- {
- eNLDataWaveTable EXECUTE(= -12874),
- eNLAlgoWaveTable
- } NLProcWaveType;
-
- /* forwards */
- struct EnvelopeRec;
- struct LFOListSpecRec;
-
- /* create a new nonlinear processor specifier */
- NonlinProcSpecRec* NewNonlinProcSpecDataWave(struct WaveTableObjectRec* Wave);
-
- /* create a new nonlinear processor specifier */
- NonlinProcSpecRec* NewNonlinProcSpecAlgoWave(struct AlgoWaveTableObjectRec* Wave);
-
- /* dispose of the nonlinear processor specifier */
- void DisposeNonlinProcSpec(NonlinProcSpecRec* NLProc);
-
- /* set various attributes */
- void PutNLProcInputScaling(NonlinProcSpecRec* NLProc, float InputScaling);
- void PutNLProcInputAccent1(NonlinProcSpecRec* NLProc, float InputAccent1);
- void PutNLProcInputAccent2(NonlinProcSpecRec* NLProc, float InputAccent2);
- void PutNLProcInputAccent3(NonlinProcSpecRec* NLProc, float InputAccent3);
- void PutNLProcInputAccent4(NonlinProcSpecRec* NLProc, float InputAccent4);
- void PutNLProcOutputScaling(NonlinProcSpecRec* NLProc, float OutputScaling);
- void PutNLProcOutputAccent1(NonlinProcSpecRec* NLProc, float OutputAccent1);
- void PutNLProcOutputAccent2(NonlinProcSpecRec* NLProc, float OutputAccent2);
- void PutNLProcOutputAccent3(NonlinProcSpecRec* NLProc, float OutputAccent3);
- void PutNLProcOutputAccent4(NonlinProcSpecRec* NLProc, float OutputAccent4);
- void PutNLProcWaveTableIndex(NonlinProcSpecRec* NLProc, float WaveTableIndex);
- void PutNLProcIndexAccent1(NonlinProcSpecRec* NLProc, float IndexAccent1);
- void PutNLProcIndexAccent2(NonlinProcSpecRec* NLProc, float IndexAccent2);
- void PutNLProcIndexAccent3(NonlinProcSpecRec* NLProc, float IndexAccent3);
- void PutNLProcIndexAccent4(NonlinProcSpecRec* NLProc, float IndexAccent4);
-
- /* retrieve various attributes */
- float GetNLProcInputScaling(NonlinProcSpecRec* NLProc);
- float GetNLProcInputAccent1(NonlinProcSpecRec* NLProc);
- float GetNLProcInputAccent2(NonlinProcSpecRec* NLProc);
- float GetNLProcInputAccent3(NonlinProcSpecRec* NLProc);
- float GetNLProcInputAccent4(NonlinProcSpecRec* NLProc);
- float GetNLProcOutputScaling(NonlinProcSpecRec* NLProc);
- float GetNLProcOutputAccent1(NonlinProcSpecRec* NLProc);
- float GetNLProcOutputAccent2(NonlinProcSpecRec* NLProc);
- float GetNLProcOutputAccent3(NonlinProcSpecRec* NLProc);
- float GetNLProcOutputAccent4(NonlinProcSpecRec* NLProc);
- float GetNLProcWaveTableIndex(NonlinProcSpecRec* NLProc);
- float GetNLProcIndexAccent1(NonlinProcSpecRec* NLProc);
- float GetNLProcIndexAccent2(NonlinProcSpecRec* NLProc);
- float GetNLProcIndexAccent3(NonlinProcSpecRec* NLProc);
- float GetNLProcIndexAccent4(NonlinProcSpecRec* NLProc);
-
- /* get the wave type */
- NLProcWaveType GetNLProcSpecWaveType(NonlinProcSpecRec* NLProc);
-
- /* get the algorithmic wave table from the nl proc */
- struct AlgoWaveTableObjectRec* GetNLProcSpecAlgoWaveTable(NonlinProcSpecRec* NLProc);
-
- /* get the data wave table from the nl proc */
- struct WaveTableObjectRec* GetNLProcSpecDataWaveTable(NonlinProcSpecRec* NLProc);
-
- /* get enveloping things */
- struct EnvelopeRec* GetNLProcInputEnvelope(NonlinProcSpecRec* NLProc);
- struct EnvelopeRec* GetNLProcOutputEnvelope(NonlinProcSpecRec* NLProc);
- struct EnvelopeRec* GetNLProcIndexEnvelope(NonlinProcSpecRec* NLProc);
- struct LFOListSpecRec* GetNLProcInputLFO(NonlinProcSpecRec* NLProc);
- struct LFOListSpecRec* GetNLProcOutputLFO(NonlinProcSpecRec* NLProc);
- struct LFOListSpecRec* GetNLProcIndexLFO(NonlinProcSpecRec* NLProc);
-
- #endif
-